package com.njtoyo.taxi.admin.rest.presenter.business;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.njtoyo.taxi.admin.rest.export.DateConverter;
import com.njtoyo.taxi.admin.rest.export.FunctionToChineseConverter;
import com.njtoyo.taxi.admin.rest.export.IntegerToChineseConverter;
import com.njtoyo.taxi.admin.rest.presenter.ElderlyDeviceCallCardNumPresenter;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Data
public class ElderlyDeviceManagePresenter {
    //主键id
    @ExcelIgnore
    private Integer id;

    //设备id
    @ExcelProperty(value = "设备ID",index = 0)
    private String deviceId;

    //设备名称
    @ExcelProperty(value = "设备名称",index = 1)
    private String deviceName;

    //运营城市id
    @ExcelIgnore
    private Integer cantonId;

    //运营城市名称
    @ExcelProperty(value = "运营城市",index = 2)
    private String cantonName;

    //区域id
    @ExcelIgnore
    private Integer areaId;

    //区域名称
    @ExcelIgnore
    private String areaName;

    //负责人名称
    @ExcelProperty(value = "负责人",index = 14)
    private String responsibleName;

    //联系电话
    @ExcelProperty(value = "联系电话",index = 15)
    private String responsiblePhone;

    //地址
    @ExcelProperty(value = "地址",index = 11)
    private String deviceAddress;

    //经度
    @ExcelProperty(value = "经度",index = 12)
    private BigDecimal longitude;

    //纬度
    @ExcelProperty(value = "纬度",index = 13)
    private BigDecimal latitude;

    //备注
    @ExcelProperty(value = "备注",index = 16)
    private String remark;

    //设备状态
    @ExcelProperty(value = "设备状态",index = 3,converter = IntegerToChineseConverter.class)
    private Integer deviceState;

    //SIM卡号
    @ExcelProperty(value = "SIM卡",index = 4)
    private String simCard;

    //设备序列号
    @ExcelProperty(value = "设备序列号",index = 5)
    private String deviceSerialNumber;

    //创建时间
    @ExcelProperty(value = "创建时间",index = 20,converter = DateConverter.class)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    //更新时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ExcelIgnore
    private Date updateTime;

    @ExcelIgnore
    private Integer userId;

    @ExcelProperty(value = "操作人",index = 21)
    private String userName;

    @ExcelIgnore
    private Integer enableNumber;

    //版本号
    @ExcelProperty(value = "版本号",index = 6)
    private String versionCode;

    //网络状态
    @ExcelProperty(value = "网络状态",index = 7,converter = FunctionToChineseConverter.class)
    private Integer networkStatus;

    //身份证刷卡状态
    @ExcelProperty(value = "身份证刷卡",index = 8,converter = FunctionToChineseConverter.class)
    private Integer identityStatus;

    //公交卡/一卡通状态
    @ExcelProperty(value = "公交卡/一卡通刷卡",index = 9,converter = FunctionToChineseConverter.class)
    private Integer busCardStatus;

    //voip语言电话状态：0断开，1正常，空是‘-’
    @ExcelProperty(value = "voip语言电话",index = 10,converter = FunctionToChineseConverter.class)
    private Integer voipStatus;

    //ip地址
    @ExcelProperty(value = "终端ip地址",index = 17)
    private String ipAddress;

    //网络信号：1弱，2中，3强
    @ExcelIgnore
    private Integer networkSignal;

    //呼叫量
    @ExcelProperty(value = "呼叫量",index = 19)
    private Integer callNumber;

    //接单量
    @ExcelProperty(value = "接单量",index = 18)
    private Integer ridePickCount;

    @ExcelIgnore
    private List<ElderlyDeviceCallCardNumPresenter> callCardNum;
}
